iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 1
0
自我挑戰組

從爬蟲到架站系列 第 13

Day 12: 從爬蟲到架站-Heroku

  • 分享至 

  • xImage
  •  

Heroku

網站已經有個基本功能了,也用了Git,就可以準備上heroku了,到heroku上開啟一個應用後,在本地端開啟CMD:

heroku login

接著他會跳出網頁登入,登入後使用remote指令將本地端與heroku連結:

heroku git:remote -a "heroku上的名稱"

上傳的指令為push,push後面接remote分支的名稱與本地分支的名稱

git push heroku master

heroku為遠端分支名稱,可以用git remote -v查詢

例如我的分支為main,那我的指令就是:

git push origin main

上傳後heroku並不會自動跑app.py,需要有一個文件告訴它要跑app.py

新增Procfile
在Profile打上

web: gunicorn app:app

但是heroku並沒有安裝我們使用的套件,要利用pip生出requirement.txt

pip freeze > requirements.txt

or

pip3 freeze > requirements.txt

接著重新push後,到heroku網頁把它打開。

這樣就部屬上去了,但heroku會讓網站自動休眠,也就是太久沒人造訪網站時,會需要重新啟動,重新啟動的時間大概要30秒,會有極糟的瀏覽體驗,所以希望能有個自動造訪的功能,這邊用到uptimerobot這個網站的功能。

這個網站使用非常易懂,登入後按Add new Moniter,接著把網址和間隔條好,就成功了。

既然都用到了定時造訪的功能,也將爬蟲寫成一個API讓它能夠每天執行爬蟲。

app.py加上

@app.route('/month_stat_crawler', methods=['GET'])
def getmonthstat():
    get_month_player_stat()
    return redirect(url_for('index'))

在新增Moniter就可以了。

下一篇將增加近況的功能,也是要從爬蟲開始,會這樣慢慢增加功能。


上一篇
Day 11: 從爬蟲到架站-Git
下一篇
Day 13: 從爬蟲到架站-增加功能(近況)
系列文
從爬蟲到架站21
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言